-- 批量初始化秒杀活动脚本
-- 一次性处理多个商品的库存和购买限制设置
-- ARGV参数格式：
-- 1. 活动ID
-- 2. 过期时间（秒）
-- 3. 商品数据JSON字符串（包含多个商品的productId、stock、limit信息）

local activityId = ARGV[1]
local expireSeconds = tonumber(ARGV[2])
local productsJson = ARGV[3]

-- 解析JSON数据
local products = cjson.decode(productsJson)

-- 初始化成功计数
local successCount = 0
local totalCount = #products

-- 循环处理每个商品
for _, product in ipairs(products) do
    local productId = product.productId
    local stock = product.stock
    local limit = product.limit

    -- 构造Redis键
    local stockKey = 'seckill:activity:stock:' .. activityId .. ':' .. productId
    local limitKey = 'seckill:activity:limit:' .. activityId .. ':' .. productId

    -- 设置库存
    redis.call('SET', stockKey, stock)
    redis.call('EXPIRE', stockKey, expireSeconds)

    -- 设置用户购买限制
    redis.call('SET', limitKey, limit)
    redis.call('EXPIRE', limitKey, expireSeconds)

    successCount = successCount + 1
end

-- 返回初始化成功的商品数量
return successCount